package com.dtp.common.entity;

import lombok.Data;

import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.List;

/**
 * 动态线程池主要属性
 *
 * @author yanhom
 * @since 1.0.0
 *
 * @remark muse
 **/
@Data
public class TpMainFields {

    private static final List<Field> FIELD_NAMES; // TpMainFields类包含的所有属性集合
    static {
        FIELD_NAMES = Arrays.asList(TpMainFields.class.getDeclaredFields()); // 初始化操作
    }

    private String threadPoolName;  // 线程池名称
    private int corePoolSize;       // 核心线程数
    private int maxPoolSize;        // 最大线程数
    private long keepAliveTime;     // 现成存活时间
    private String queueType;       // 队列类型
    private int queueCapacity;      // 队列容量
    private String rejectType;      // 拒绝策略类型
    private boolean allowCoreThreadTimeOut; // 是否运行设置核心线程超时

    /** 获得动态线程池主要属性列表 */
    public static List<Field> getMainFields() {return FIELD_NAMES;}
}
